<template>
   <div class="search_history">
      <van-cell title="搜索历史">
         <div v-if="isDeleteShow">
            <!-- @click="searchHistories.splice(0)"  也可以这样写 -->
            <span @click="$emit('clear_search_histories')"
               >全部删除</span
            >
            &nbsp;&nbsp;
            <span @click="isDeleteShow = false">完成</span>
         </div>

         <van-icon
            name="delete-o"
            v-else
            @click="isDeleteShow = true"
         />
      </van-cell>
      <van-cell
         :title="item"
         v-for="(item, index) in searchHistories"
         :key="index"
         @click="onSearchItem(item, index)"
      >
         <van-icon name="close" v-show="isDeleteShow" />
         <!-- v-show 切换频繁 性能消耗小 -->
      </van-cell>
   </div>
</template>

<script>
export default {
   name: 'Search_history',
   data() {
      return {
         // 控制删除显示状态
         isDeleteShow: false
      }
   },
   props: {
      // props 数据：是受父组件数据影响的
      //    如果是普通数据（数字，字符串，布尔值） 绝对不能修改，
      // 改了也不会传给父组件
      //    如果是引用类型数据（数组，对象）
      //       可以修改里边的内容，不能重新赋值（等号）
      searchHistories: {
         type: Array,
         required: true
      }
   },
   methods: {
      onSearchItem(item, index) {
         if (this.isDeleteShow) {
            // 删除状态，删除历史记录数据
            this.searchHistories.splice(index, 1)
         } else {
            // 非删除状态,直接进入搜索
            this.$emit('search', item)
         }
      }
   }
}
</script>

<style lang="less" scoped></style>
